/**
 * @description 将数组（array）拆分成多个 size 长度的区块，并将这些区块组成一个新数组。 如果array 无法
 * 被分割成全部等长的区块，那么最后剩余的元素将组成一个区块。
 * @param {Array} array 待处理的数组
 * @param {number} size 每个分组的大小
 * @returns {Array} 返回容纳了所有分组的新数组
 * @example
 * chunk(['a', 'b', 'c', 'd'], 2);
 * => [['a', 'b'], ['c', 'd']]
 * chunk(['a', 'b', 'c', 'd'], 3);
 * => [['a', 'b', 'c'], ['d']]
 */
function chunk(array, size = 1) {
    if (size < 1) {
        return [];
    }
    const result = [];
    for (let i = 0; i < array.length; i += size) {
        result.push(array.slice(i, i + size));
    }
    return result;
}